Electronic data security has become an area of great focus for development as more daily transactions become computerized. Computing devices are constantly being utilized to exchange financial data, personal identification data, etc. As a result, hackers may attempt to compromise computing devices to gain access to this valuable information. For example, malicious software (e.g., malware) may be loaded to passively or actively attack computing devices. Passive attacks may comprise malware observing data being passed between a processor and a memory to obtain passwords or other sensitive or confidential data. Active attacks may involve altering data stored in memory to trigger an atypical result such as allowing an unpermitted user to gain access to the computing device. In either instance, plaintext (unencrypted) data in the memory of a computing device, that is exchanged with a processor in the computing device, etc. is a major vulnerability.
Device manufacturers, component manufacturers, software developers, etc. continue to try to develop protective measure to combat vulnerabilities. Software-based malware detection and elimination solutions typically operate at the privilege level of an operating system (OS) in the computing device. These solutions may be effective against lower privilege attacks, but may not be able to combat higher-privileged malware like rootkits, do not have the processing power to handle large amounts of data, etc. Hardware-based security systems may be implemented in, for example, an individual integrated circuit (IC) or “chip,” a group of chips that cooperate (e.g., a chipset), a system-on-chip (e.g., SoC), etc. These solutions are more difficult to compromise because their functionality is based on programming, architecture, etc. that may be unalterable, may comprise secure onboard memory to store critical data such as keys, etc. Moreover, many hardware-based security solutions are dedicated to a single purpose with all required processing resources being available onboard, and thus, may be capable of handling larger amounts of data. For example, dedicated hardware-based solutions may be configured to load protective software at device initiation, check applications for malware prior to allowing the programs to be loaded, encrypt and/or decrypt data, etc. However, as system components (e.g., processors) become faster, hardware-based security solutions must also evolve so as not to become bottlenecks.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.